// Generated from D:/aurl/AURL/src\UrlExpr.g4 by ANTLR 4.12.0
import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link UrlExprParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface UrlExprVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#url}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUrl(UrlExprParser.UrlContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#uri}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUri(UrlExprParser.UriContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#scheme}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitScheme(UrlExprParser.SchemeContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#host}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitHost(UrlExprParser.HostContext ctx);
	/**
	 * Visit a parse tree produced by the {@code DomainNameOrIPv4Host}
	 * labeled alternative in {@link UrlExprParser#hostname}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDomainNameOrIPv4Host(UrlExprParser.DomainNameOrIPv4HostContext ctx);
	/**
	 * Visit a parse tree produced by the {@code IPv6Host}
	 * labeled alternative in {@link UrlExprParser#hostname}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIPv6Host(UrlExprParser.IPv6HostContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#v6host}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitV6host(UrlExprParser.V6hostContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#port}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPort(UrlExprParser.PortContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#path}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPath(UrlExprParser.PathContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#user}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUser(UrlExprParser.UserContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#login}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLogin(UrlExprParser.LoginContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#password}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPassword(UrlExprParser.PasswordContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#frag}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFrag(UrlExprParser.FragContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#query}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQuery(UrlExprParser.QueryContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#search}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSearch(UrlExprParser.SearchContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#searchparameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSearchparameter(UrlExprParser.SearchparameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link UrlExprParser#string}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitString(UrlExprParser.StringContext ctx);
}